1. Statement of the Technical Field
The inventive arrangements relate to computing systems, and more particularly to systems and methods for identifying missing rules within rule projects for complex cases and generating said missing rules which match a minimal set of objects.
2. Description of the Related Art
A rule is a statement that defines or constrains some aspect of an organization. In practice, the rule is implemented so as to control the behavior of the organization. Accordingly, the rule describes the operations, definitions and constraints that apply to the organization. The rules can apply to people, processes, corporate behavior and computing systems in the organization. The rules are typically put in place to help the organization achieve its goals. For example, a rule might state that “a loan is to be rejected if a prospective borrower has a credit score below a certain value”.
Rules are often used to represent policies that occur in routine tasks (e.g., tasks relating to insurance-claim acceptances, loan approvals and pricing of items). Each task generally involves making a decision for a case (e.g., an insurance claim, a loan or an item's price) and applying an action to the case based on the results of said decision. Each case is characterized by numerous objects of given types (e.g., an insurance claim, an insured and a contract). The objects define the scope of the case. Each case is described in a multi-dimensional space (e.g., a Cartesian space). For example, if a case is described in a two dimensional space, then an attribute of a first object (e.g., a data format supported by a camcorder) is plotted along an X-axis of a coordinate plane and an attribute of a second object (e.g., a screen size of a television) is plotted along a Y-axis of the coordinate plane. The decision usually involves: determining if a case satisfies a condition (e.g., the amount of damage to the insured item exceeds the amount of a deductible); and selecting an option from a plurality of options (e.g., accept or reject). Thereafter, an action defined by the selected option is applied to the case (e.g., accept the insurance claim).
In many scenarios, a set of rules are needed during a single decision-making process. The set of rules are complete when the rules facilitate the decision-making process for each relevant case. If a set of rules are not complete, then new rules need to be added to the set of rules. The need for new rules may arise as a result of unforeseen interactions between tests of existing rules used to determine if cases satisfy certain conditions. The tests may complement each other in first dimensions of a multi-dimensional space in which a case is described if certain values in second dimensions of the multi-dimensional space are fixed, and leave gaps for other values. For example, an attribute (e.g., data formats) of a first item (e.g., a camcorder) is plotted along on X-axis of a coordinate system and an attribute (e.g., screen size) of a second item (e.g., a television) is plotted along a Y-axis of a coordinate system. A first test may be performed to determine if a first item satisfies a first condition (e.g., a camcorder is a High Definition (HD) camcorder). A second test may be performed to determine if a second item satisfies a second condition (e.g., a television has a screen larger than fifty inches). The first and second tests complement each other in the first dimension of the multi-dimensional space for televisions with screen sizes larger than fifty inches and complement each other in the second dimension for HD camcorders, because they collectively define a third test for determining if the first and second items satisfy the first or second conditions (e.g., a camcorder is an HD camcorder OR a television has a screen larger than fifty inches). However, the first and second tests do not complement each other in the first dimension of the multi-dimensional space for televisions with other screen sizes and in the second dimensions for non-HD camcorders. In this regard, it should be understood that the first and second rules do not define a fourth test for determining if the first item satisfies a third condition (e.g., the camcorder is a non-HD camcorder) and the second item satisfies a fourth condition (e.g., the television has a screen less than fifty inches). Consequently, a set of rules including the first and second rules is incomplete since the fourth rule needs to be added thereto.
The task of detecting whether or not rules are missing from a set of rules is an inherently combinatorial problem which is difficult to solve. The difficulty in solving the combinatorial problem is at least partially due to the fact that cases may consist of an unbounded number of objects. For example, a discount determination requires the inspection of an unbounded number of bought items in the shopping cart of a customer. Although each instance of an object type has a finite number of attributes (i.e., dimensions), each additional instance of the object type adds copies of these dimensions to the space which characterizes the cases. Although each case consists of a finite number of objects (and can thus be characterized by a finite number of dimensions), there will always be a larger case having more objects if the number of objects is not bounded. A multi-dimensional space that characterizes all these possible cases will thus consist of an infinite number of dimensions, although only a finite subset of these dimensions is relevant for characterizing a particular case.
A single Cartesian space provides an inadequate characterization of complex cases, which consists of different types and numbers of objects. This lack of a general definition of complex cases constitutes a severe obstacle for analytical tasks, such as rule learning, rule completeness analysis, rule testing and rule simulation. Currently, there are no known methods that provide a simple characterization of complex cases.
Despite of the above-identified difficulties, rules are able to handle complex cases. Each rule concerns only a portion of the objects that comprise a complex case. To be precise, each rule concerns a fixed list of object types. The rule matches a configuration of objects from a case description if the objects are of the type contained in the fixed list of object types. The rule together with the matched objects forms a rule instance. A rule may have multiple instances for a given case. For example, if a case consists of one hundred (100) bought items in a shopping cart, then a rule matching an item in the shopping cart has one hundred (100) instances, namely one (1) for each item. The scope of a rule thus defines a view of a complex case even if the number of objects in the complex case is unbounded. Although the complex case cannot be characterized by a finite number of dimensions, each view of the complex case has only a finite number of dimensions. The views of a complex case allow the rules to be able to handle cases consisting of an unbounded number of objects. Therefore, a view is an effective way to characterize relevant information of a complex case in a finite dimensional space. However, the number of views is infinite as there is an infinite number of combinations of object types which may constitute valid scopes of a case. For the generation of missing rules, this means that missing rules need to be determined in an unbounded number of scopes, thus undesirably leading to an unbounded explosion of the number of missing rules.